

package com.hazelcast.transaction;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.UUID;

public interface TransactionManagerService {

    <T> T executeTransaction(@Nonnull TransactionOptions options, @Nonnull TransactionalTask<T> task) throws TransactionException;

    TransactionContext newTransactionContext(@Nonnull TransactionOptions options);

    TransactionContext newClientTransactionContext(@Nonnull TransactionOptions options, @Nullable UUID clientUuid);
}
